package core.collection.mylist;

import java.util.ArrayList;
import java.util.List;

/**
 * List集合特有的功能概述和测试
 *
 *      void add(int index,E element)
 *      E remove(int index)
 *      E get(int index)
 *      E set(int index,E element)
 *
 * @author
 * @create 2018-12-23 8:45
 **/
public class mylist_1_List_Method {
    public static void main(String[] args){
        //demo_add();
        //demo_remove();
        //demo_get();
        demo_set();
    }

    public static void demo_add(){
        List list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        //list.add(1,"e");

        //list.add(10,"e")  java.lang.IndexOutOfBoundsException索引越界异常
        //当存储时使用不存在的索引时候出现异常

        list.add(4,"g");
        //index<=size并且index>=0 不会报异常 允许在最后追加一个元素
        System.out.println(list);
    }

    public static void demo_remove(){
        List list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        Object ob = list.remove(2);
        System.out.println(ob);
        //返回删掉的元素
        System.out.println(list);

        list.add(111);
        list.add(222);
        list.add(333);
        list.remove(111);
        //删除的时候不会自动装箱，是把111当成索引的
        System.out.println(list);
    }

    public static void demo_get(){
        List list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        System.out.println(list.get(2));
    }

    public static void demo_set(){
        List list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        list.set(1,"yujian");
        System.out.println(list);
    }
}
